package daoBDDImpl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import utils.HibernateUtil;

import bean.CompositionEvenement;
import bean.Evenement;
import bean.Sport;

import dao.CompositionEvenementDao;

public class CompositionEvenementDaoBDDImpl extends HibernateDaoSupport implements CompositionEvenementDao  {

	public CompositionEvenementDaoBDDImpl() {
		super();
		setSessionFactory(HibernateUtil.getSessionFactory());
	}

	@Override
	public CompositionEvenement get(long id) {
		return getHibernateTemplate().get(CompositionEvenement.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<CompositionEvenement> getAllBySport(Sport sport) {
		return getHibernateTemplate().findByNamedQueryAndNamedParam("getAllBySport", "sport", sport);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<CompositionEvenement> getAllByEvenement(Evenement evenement) {
		return getHibernateTemplate().findByNamedQueryAndNamedParam("getAllByEvenement", "evenement", evenement);
	}

	@Override
	public void set(CompositionEvenement compositionEvenement) {
		getHibernateTemplate().save(compositionEvenement);
	}

	@Override
	public void del(CompositionEvenement compositionEvenement) {
		getHibernateTemplate().delete(compositionEvenement);
		
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<CompositionEvenement> getAll() {
		return getHibernateTemplate().findByNamedQuery("getAllCompositionEvenement");
	}

}
